<?php
include('Persona.php');

function executeInsertQuery($table,$values,$condition) {
	$link = @mysql_connect("mysql.hostinger.com.ar","u297386872_n2m","nexttome100");

	if (!$link) {
		exit('<b>Error</b>: No se puede conectar con la base de datos. '.mysql_error());
	}

	if (!@mysql_select_db("u297386872_nexttome")) {
		exit("<b>Error</b>: No se encuentra la base de datos 'nexttome'.");
	}
	
	$sql = " INSERT INTO ".$table." VALUES(".$values.")";

	if($condition != ""){
		$sql = $sql."WHERE".$condition;
	}

	//echo $sql;

	if(!@mysql_query($sql)){
		echo "<tr>La consulta" .$sql." NO se realizo</tr>";
		exit(-1) ;
	}
}

function executeUpdateQuery($table,$values,$condition){
  $link = @mysql_connect("mysql.hostinger.com.ar","u297386872_n2m","nexttome100");

  if (!$link) {
		exit('<b>Error</b>: No se puede conectar con la base de datos. '.mysql_error());
	}

	if (!@mysql_select_db("u297386872_nexttome")) {
		exit("<b>Error</b>: No se encuentra la base de datos 'nexttome'.");
	}
	$sql = " update ".$table." set ".$values. " where ".$condition;

	if(!@mysql_query($sql)){
		echo "<tr>La consulta" .$sql." NO se realizo</tr>";
		exit(-1) ;
	}
}

function executeDeleteQuery($table,$condition){
   $link = @mysql_connect("mysql.hostinger.com.ar","u297386872_n2m","nexttome100");
	if (!$link) {
		exit('<b>Error</b>: No se puede conectar con la base de datos. '.mysql_error());
	}

	if (!@mysql_select_db("u297386872_nexttome")) {
		exit("<b>Error</b>: No se encuentra la base de datos 'nexttome'.");
	}

	$sql = " delete from ".$table." where ".$condition;

	if(!@mysql_query($sql)){
		echo "<tr>La consulta" .$sql." NO se realizo</tr>";
		exit(-1) ;
	}
}

function executeSelectQuery($query) {
   $conn = @mysql_connect("mysql.hostinger.com.ar","u297386872_n2m","nexttome100");
	if (!$conn) {
		exit('<b>Error</b>: No se puede conectar con la base de datos. '.mysql_error());
	}

	if (!@mysql_select_db("u297386872_nexttome")) {
		exit("<b>Error</b>: No se encuentra la base de datos 'nexttome'.");
	}

	$result = mysql_query($query,$conn) or die('Errant query:  '.$query.' Error: '.mysql_error());

	return $result;
}

function guardarPersona($persona) {
	$ca = ",";
	$ci = "'";

	$fotob = base64_decode($persona->getFoto());

	header('Content-Type: bitmap; charset=utf-8');
	$file = fopen('fotos/'.$persona->getId().'.png', 'w');
	fwrite($file, $fotob);
	fclose($file);

	$personaIns =
		"'".$persona->getId()."'".
		$ca."'".$persona->getNick()."'".
		$ca."'".$persona->getLatitud()."'".
		$ca."'".$persona->getLongitud()."'".
		$ca."'".$persona->getSexo()."'".
		$ca."'".$persona->getComentario()."'";

	$personaUpd =
		" nick='".$persona->getNick()."'".$ca.
		" comentario='".$persona->getComentario()."'".$ca.
		" lat='".$persona->getLatitud()."'".$ca.
		" lon='".$persona->getLongitud()."'".$ca.
		" sexo='".$persona->getSexo()."'";

	$res = existePersona($persona->getId());

//$file = '/tmp/n2m.txt';
//$fh = fopen($file, "w");
//fwrite($fh, "algo");
//fclose($fh);

	if ( $res[0] > 0 ) {
		executeUpdateQuery( "Persona", $personaUpd, "id='".$persona->getId().$ci);
	} else {
		executeInsertQuery("Persona",$personaIns,"");
	}
}


function existePersona($id) {
	$query = "select count(*) from Persona where id='".$id."'";
	$result = executeSelectQuery($query);

	return mysql_result($result,0);
}

function obtenerPersona($id) {
	$query = "select * from Persona where id='".$id."'";	
	$result = executeSelectQuery($query);

	return $result;
}

function obtenerMensajes($id) {
	$query = "select p.nick de, m.msg, m.id, m.de deid
	          from Mensaje m, Persona p
	          where m.de = p.id
	          and m.leido = 0
	          and para='".$id."'";
	$result = executeSelectQuery($query);

	return $result;
}

function obtenerPersonasCercanas($id) {
	$query = "SELECT p2.id, p2.nick, p2.lat, p2.lon, p2.sexo, p2.comentario, ROUND(SQRT(POW(p1.lat - p2.lat,2) + POW(p1.lon - p2.lon,2))*10000) as distancia
			  FROM Persona p1, Persona p2
			  WHERE p1.id=".$id."
			  ORDER BY nick";

			  //AND p1.lat - p2.lat < 0.001
			  //AND p1.lon - p2.lon < 0.001

	$result = executeSelectQuery($query);

	return $result;
}

function mandarMensaje($from,$to,$msg) {
	$ca = ",";
	$ci = "'";

	$msgIns =
		"'".$from."'".
		$ca."'".$to."'".
		$ca."'".$msg."'".
		$ca."0";

	$link = @mysql_connect("mysql.hostinger.com.ar","u297386872_n2m","nexttome100");

	if (!$link) {
		exit('<b>Error</b>: No se puede conectar con la base de datos. '.mysql_error());
	}

	if (!@mysql_select_db("u297386872_nexttome")) {
		exit("<b>Error</b>: No se encuentra la base de datos 'nexttome'.");
	}
	
	$sql = " INSERT INTO Mensaje (de, para, msg, leido) VALUES(".$msgIns.")";

	if($condition != ""){
		$sql = $sql."WHERE".$condition;
	}

	//echo $sql;

	if(!@mysql_query($sql)){
		echo "<tr>La consulta" .$sql." NO se realizo</tr>";
		exit(-1) ;
	}

}


?>
